Documentation for CRYPTOR by Glen E. Bredon CRYPTOR will take a ProDOS file of any type and encrypt or decrypt it based on a CODEWORD (length at most 12 characters) and write it back to another file (or to the same file if the length does not exceed $8000). The operation of this program is similar to the EXECUTIONER program, except that this outputs files of any type, generally not text files. I make no claims on the security of the encryption. This is not the sort of algorithm you would want national security based on. However, I think it would take a monumental effort to break the code without the keyword. There are two envisioned uses. (1) To encode your own files to keep them away from prying eyes. (2) To upload files for limited distribution (eg., to a group of beta-testers). Of course, the testers would have to be told the codeword that you use, and would be expected to keep it confidential. Of course the encryption algorithm can be taken out of this program, but that is not likely to do anyone much good, since the key cannot easily be deduced from the algorithm and an encryption, and there are over 280 trillion possible keys. Directions: 0. An ESC at any (Y/N) prompt quits the program. At other places it usually sends you to the start of the program. Hitting RETURN on an empty filename also aborts the program as will Control-open apple- RESET. 1. You are shown the current prefix and you can type over it to change it. Just hit return to accept it as shown. Hit ESC to go to the start of the program. You MUST set the prefix to the directory containing the file you want converted. 2. The directory specified by the prefix is read and the last file in that directory is displayed after a prompt for the file to be converted. You can use the up/down arrow keys to see other files in that directory. (The last one is displayed first because it is expected that that will be the usual selection.) You could also backspace to the beginning and just type the name of the file you want to convert. 3. You will be shown some of the file characteristics of the file you have selected and asked if it is correct. If NO then you go back to the start of the program. If YES then the file is loaded for processing. The program will recognize whether the file is encrytpted and tells you that at this point. In that case, the file will be decrypted unless you abort the program. 4. You are asked for a CODEWORD, which can be any text at most 12 characters long. Hitting return on an empty name will abort the program. When decrypting, of course, you must supply the same codeword as was used when the file was encrypted, or a garbage file will result. 5. You are asked for the name of the destination encrypted/decrypted file. This must be a full pathname if you want it in another directory. If you hit return on the first character, the program is aborted, if you hit ESC then you return to the start of the program. 6. If the destination file exists, you will be asked if you want it deleted. (A locked file is never deleted, that would defeat the purpose of locking it in the first place.) If not, or if you answer YES then the program proceeds to do the encryption/decryption. 7. When the file is made, you are asked if you want to do another. If YES then you return to the start of the program. If NO, it exits. This is a SYS (stand alone) program, so it exits through the "quit" routine. 8. You can use the "startup" position in the CRYPTOR file, or the startup in PROSEL or other program selectors to specify the destination file directory (or the entire pathname if you want). For example, if the startup is "/HARD1/CRYPT/" then in step 5 above, this text will be placed after the prompt the cursor following it. You can modify it just as if you had typed it. 9. A coded file will be a "typeless" file, type $00 (or NON as shown by most of my utilities). Its aux type will always be $1987 (which happens to be the present year). It will be exactly one page longer than the original and has a header of that length at the start. If this header is modified then the program will not be able to decrypt the file. (So hands off.) *---------------------------------------------------------------------- Changes in version 1.4: (a) This version will remember the original file name when encrypting and give it as the default destination name when decrypting. (b) There is a provision for a default codeword: This should be placed after the pair of FFs following the "startup" (see item 8 above) in the CRYPTOR file. The word must start with a length byte in hex and must be no longer than 12 ($C) characters long, and must be padded with spaces if less than 12 characters. Note that putting the codeword in this file position leaves it open to peekers, so don't use this provision if that is not acceptable. (c) ESC at the prefix prompt now aborts the program. (d) If there is no "startup" then the prefix is substituted for it (see item 8). Remark: Version 1.2 was defective and should be discarded. Version 1.4 is identical to 1.3 except for the addition of items (c) and (d).